package cn.csc.module.shoppingCard.convert.transaction;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.shoppingCard.api.transaction.dto.CardTransactionCreateReqDTO;
import cn.csc.module.shoppingCard.api.transaction.dto.CardTransactionRespDTO;
import cn.csc.module.shoppingCard.controller.admin.transaction.vo.CardTransactionCreateReqVO;
import cn.csc.module.shoppingCard.controller.admin.transaction.vo.CardTransactionExcelVO;
import cn.csc.module.shoppingCard.controller.admin.transaction.vo.CardTransactionRespVO;
import cn.csc.module.shoppingCard.controller.admin.transaction.vo.CardTransactionUpdateReqVO;
import cn.csc.module.shoppingCard.dal.dataobject.transaction.CardTransactionDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 交易记录 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface CardTransactionConvert {

    CardTransactionConvert INSTANCE = Mappers.getMapper(CardTransactionConvert.class);

    CardTransactionDO convert(CardTransactionCreateReqVO bean);

    CardTransactionDO convert(CardTransactionUpdateReqVO bean);

    CardTransactionRespVO convert(CardTransactionDO bean);

    List<CardTransactionRespVO> convertList(List<CardTransactionDO> list);

    List<CardTransactionDO> convertList1(List<CardTransactionCreateReqDTO> list);

    PageResult<CardTransactionRespVO> convertPage(PageResult<CardTransactionDO> page);

    List<CardTransactionExcelVO> convertList02(List<CardTransactionDO> list);

    List<CardTransactionRespDTO> convertList03(List<CardTransactionDO> list);

}
